package cn.cj.erp.service.system;

import cn.cj.erp.bo.system.SysConfigBo;
import cn.cj.erp.entity.system.SysConfig;
import cn.cj.erp.service.base.BaseService;

/**
 * 系统配置信息
 *
 * @author jianchene0
 */
public interface SysConfigService extends BaseService<SysConfig, SysConfigBo> {

    /**
     * 根据key，更新value
     * @param key   键值
     * @param value 具体值
     * @return boolean
     */
    boolean updateValue(String key, String value);

    /**
     * 根据key，获取配置的value值
     * @param key 键值
     * @return 配置的值
     */
    String getValue(String key);

    /**
     * 刷新缓存
     * @return Boolean
     */
    Boolean refreshCache();

    /**
     * 加载参数缓存数据
     * @return Boolean
     */
    Boolean loadingConfigCache();

    /**
     * 校验配置key是否唯一
     * @param bo 配置
     * @return Boolean
     */
    Boolean keyNotExist(SysConfigBo bo);
}
